/*
 * FileName: GCDemo.java
 * Author:   zzw
 * Date:     2018年12月26日
 * Description:
 */
package com.zzw.gc;

/**
 * 〈〉<br>
 * 〈vm -Xmx42M -Xmn12M -XX:SurvivorRatio=4 -XX:CMSInitiatingOccupancyFraction=50  -XX:+PrintGCDetails -XX:+PrintGCDateStamps
 * -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xloggc:/test_gc.log〉
 * 3次GC一次CMS GC
 * @author zzw
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本]（可选）
 */
public class GCDemo {

    public static void main(String[] args) {
        // 每次new分配1M内存, 24次分配, 8， 16， 24次分别Young GC
        for(int i=0; i<24; i++) {
            byte[] byte1m = new byte[1 * 1024 * 1024];
        }

        // 10M内存Eden区容不下, S区也容不下, 直接进入Old区, 但是还不够30*50%=15M CMS GC触发条件
        byte[] byte10m = new byte[10 * 1024 * 1024];

        // 再分配10M 就够CMS GC触发条件了
        byte[] byte10m2 = new byte[10 * 1024 * 1024];

    }
}
